# Generated by Django 3.2.15 on 2022-10-15 06:50

from django.conf import settings
import django.contrib.postgres.fields.jsonb
from django.db import migrations, models
import django.db.models.deletion
import functools
import komunumoj.models
import siriuso.models.postgres
import siriuso.utils.modules
import uuid

from siriuso.utils import set_enhavo


# Создаём типы сообществ
def komunumoj_tipoj(apps, schema_editor):
    tipoj = [
        ('iniciato', 'Общественные инициативы'),
        ('grupo', 'Группы'),
        ('soveto', 'Совет'),
        ('sindikato', 'Профсоюз'),
        ('entrepreno', 'Организация'),
        ('gvardio', 'Советская Гвардия'),
        ('tribunalo', 'Советский Трибунал'),
        ('partio', 'Партия'),
        ('resursacentro', 'Ресурсный Центр'),
    ]

    tipo_modelo = apps.get_model('komunumoj', 'KomunumoTipo')

    for kodo, nomo in tipoj:
        try:
            tipo_modelo.objects.get(kodo=kodo, forigo=False, publikigo=True)
        except tipo_modelo.DoesNotExist:
            tipo = tipo_modelo.objects.create(
                kodo=kodo,
                arkivo=False,
                publikigo=True,
                forigo=False
            )
            set_enhavo(tipo.nomo, nomo,'ru_RU')
            tipo.save()


# Создаём типы членов сообществ
def komunumoj_specoj(apps, schema_editor):
    tipoj = [
        ('internacia', 'Международный'),
        ('interregiono', 'Межрегиональный'),
        ('informa', 'Информационная'),
        ('regiona', 'Региональный'),
        ('popolaentrepreno', 'Народное предприятие'),
        ('komunista', 'Коммунистическая'),
    ]

    tipo_modelo = apps.get_model('komunumoj', 'KomunumoSpeco')

    for kodo, nomo in tipoj:
        try:
            tipo_modelo.objects.get(kodo=kodo, forigo=False, publikigo=True)
        except tipo_modelo.DoesNotExist:
            tipo = tipo_modelo.objects.create(
                kodo=kodo,
                arkivo=False,
                publikigo=True,
                forigo=False
            )

            set_enhavo(tipo.nomo, nomo, 'ru_RU')
            tipo.save()


# Создаём виды сообществ
def komunumoj_membroj_tipoj(apps, schema_editor):
    tipoj = [
        ('moderiganto', 'Модератор'),
        ('administranto', 'Администратор'),
        ('abonanto', 'Подписчик'),
        ('komunumano', 'Участник сообщества'),
        ('komunumano-adm', 'Участник-администратор сообщества'),
        ('komunumano-mod', 'Участник-модератор сообщества')
    ]

    tipo_modelo = apps.get_model('komunumoj', 'KomunumoMembroTipo')

    for kodo, nomo in tipoj:
        try:
            tipo_modelo.objects.get(kodo=kodo, forigo=False, publikigo=True)
        except tipo_modelo.DoesNotExist:
            tipo = tipo_modelo.objects.create(
                kodo=kodo,
                arkivo=False,
                publikigo=True,
                forigo=False
            )

            set_enhavo(tipo.nomo, nomo, 'ru_RU')
            tipo.save()


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('informiloj', '0009_lingvo_json'),
        ('main', '0001_squashed_0021_auto_20221025_0702'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name='KomunumojAliro',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('kodo', models.CharField(max_length=16, verbose_name='Kodo')),
                ('speciala', models.BooleanField(default=False, verbose_name='Speciala')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Nomo')),
            ],
            options={
                'verbose_name': 'Aliro',
                'verbose_name_plural': 'Aliroj',
                'db_table': 'komunumoj_aliroj',
            },
        ),
        migrations.CreateModel(
            name='KomunumoKategorio',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Titolo')),
                ('priskribo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Priskribo')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='komunumoj_komunumokategorio_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Kategorio de komunumoj',
                'verbose_name_plural': 'Kategorioj de komunumoj',
                'db_table': 'komunumoj_kategorioj',
            },
        ),
        migrations.CreateModel(
            name='KomunumoTipo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('speciala', models.BooleanField(default=False, verbose_name='Speciala')),
                ('kodo', models.CharField(max_length=64, verbose_name='Kodo')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder,  verbose_name='Nomo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Tipo de komunumoj',
                'verbose_name_plural': 'Tipoj de komunumoj',
                'db_table': 'komunumoj_tipoj',
            },
        ),
        migrations.CreateModel(
            name='KomunumoSpeco',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('speciala', models.BooleanField(default=False, verbose_name='Speciala')),
                ('kodo', models.CharField(max_length=64, verbose_name='Kodo')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder,  verbose_name='Nomo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Speco de komunumoj',
                'verbose_name_plural': 'Specoj de komunumoj',
                'db_table': 'komunumoj_specoj',
            },
        ),
        migrations.CreateModel(
            name='KomunumoUnuixo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder,  verbose_name='Nomo')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='komunumoj_komunumounuixo_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Unuiĝo de komunumoj',
                'verbose_name_plural': 'Unuiĝoj de komunumoj',
                'db_table': 'komunumoj_unuixo',
            },
        ),
        migrations.CreateModel(
            name='Komunumo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('id', models.IntegerField(default=0, unique=True, verbose_name='ID')),
                ('grava', models.BooleanField(default=False, verbose_name='Grava')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Titolo')),
                ('priskribo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Priskribo')),
                ('statuso', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder, verbose_name='Statuso')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('fiksa', models.BooleanField(blank=True, default=False, verbose_name='Fiksa')),
                ('fiksa_listo', models.IntegerField(blank=True, null=True, verbose_name='Fiksa listo')),
                ('kategorioj', models.ManyToManyField(blank=True, db_table='komunumoj_kategorioj_kohero', to='komunumoj.KomunumoKategorio', verbose_name='Kategorioj')),
                ('kohereco', models.ManyToManyField(blank=True, db_table='komunumoj_koherecoj', related_name='_komunumo_kohereco_+', to='komunumoj.Komunumo', verbose_name='Komunumaj ligoj')),
                ('posedanto', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='komunumoj.komunumo', verbose_name='Posedanto')),
                ('lando', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='informiloj.informilojlando', verbose_name='Lando')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='komunumoj_komunumo_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('regiono', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='informiloj.informilojregiono', verbose_name='Regiono')),
                ('regiono_teknokomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='informiloj.informilojregionoteknokomo', verbose_name='Regiono de Teknokomo')),
                ('slugo', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusoslugo', verbose_name='Slugo')),
                ('tipo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumotipo', verbose_name='Tipo')),
                ('speco', models.ForeignKey(default=None, null=True, on_delete=django.db.models.deletion.SET_NULL, to='komunumoj.komunumospeco', verbose_name='Speco')),
                ('unuixo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumounuixo', verbose_name='Unuiĝo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Komunumo',
                'verbose_name_plural': 'Komunumoj',
                'db_table': 'komunumoj',
                'permissions': (('povas_vidi_komunumon', 'Povas vidi komunumon'), ('povas_krei_komunumon', 'Povas krei komunumon'), ('povas_forigi_komunumon', 'Povas forigu komunumon'), ('povas_shanghi_komunuman_specon', 'Povas ŝanĝi komunuman specon'), ('povas_shanghi_komunumajn_kategoriojn', 'Povas ŝanĝi komunumajn kategoriojn'), ('povas_shanghi_komunuman_avataron', 'Povas ŝanĝi komunuman avataron'), ('povas_shanghi_komunuman_kovrilon', 'Povas ŝanĝi komunuman kovrilon'), ('povas_shanghi_komunuman_nomon', 'Povas ŝanĝi komunuman nomon'), ('povas_shanghi_komunuman_priskribon', 'Povas ŝanĝi komunuman priskribon'), ('povas_shanghi_komunuman_statuson', 'Povas ŝanĝi komunuman statuson')),
            },
        ),
        migrations.CreateModel(
            name='KomunumoInformo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('teksto', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder,  verbose_name='Teksto')),
                ('ligilo', models.URLField(blank=True, verbose_name='Ligilo')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='komunumoj_komunumoinformo_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('posedanto', models.OneToOneField(default=None, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumo', verbose_name='Posedanto')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Informo de komunumo',
                'verbose_name_plural': 'Informo de komunumoj',
                'db_table': 'komunumoj_informoj',
            },
        ),
        migrations.CreateModel(
            name='KomunumoInformoBildo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('bildo', models.ImageField(default=None, upload_to=functools.partial(komunumoj.models.komunumoj_bildo_nomo, *(), **{'tipo': 'informoj'}), verbose_name='Bildo')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='komunumoj_komunumoinformobildo_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('posedanto', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumoinformo', verbose_name='Posedanto')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Bildo',
                'verbose_name_plural': 'Bildoj',
                'db_table': 'komunumoj_informo_bildoj',
            },
        ),
        migrations.CreateModel(
            name='KomunumoMembroTipo',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('kodo', models.CharField(max_length=16, verbose_name='Kodo')),
                ('speciala', models.BooleanField(default=False, verbose_name='Speciala')),
                ('nomo', models.JSONField(blank=True, default=siriuso.utils.modules.default_lingvo, encoder=siriuso.models.postgres.CallableEncoder,  verbose_name='Nomo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Tipo de membroj de sovetoj',
                'verbose_name_plural': 'Tipoj de membroj de sovetoj',
                'db_table': 'komunumoj_membroj_tipoj',
            },
        ),
        migrations.CreateModel(
            name='KomunumoMembro',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('forigo', models.BooleanField(blank=True, default=False, verbose_name='Forigo')),
                ('foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Foriga dato')),
                ('a_foriga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Aŭtomata foriga dato')),
                ('publikigo', models.BooleanField(default=False, verbose_name='Publikigis')),
                ('publikiga_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Dato de publikigo')),
                ('arkivo', models.BooleanField(default=False, verbose_name='Arkiva')),
                ('arkiva_dato', models.DateTimeField(blank=True, default=None, null=True, verbose_name='Arkiva dato')),
                ('lasta_dato', models.DateTimeField(blank=True, null=True, verbose_name='Dato de lasta modifo')),
                ('kontaktulo', models.BooleanField(default=False, verbose_name='Kontaktulo')),
                ('kontakta_informo', models.TextField(blank=True, null=True, verbose_name='Kontakta informo')),
                ('autoro', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='Aŭtoro')),
                ('laborarolo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='informiloj.informilojlaborarolo', verbose_name='Laborarolo')),
                ('lasta_autoro', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='komunumoj_komunumomembro_lasta_autoro', to=settings.AUTH_USER_MODEL, verbose_name='Modifita de')),
                ('muro_sciigo', models.ManyToManyField(blank=True, to='informiloj.InformilojSciigoTipo', verbose_name='Sciigo (muro)')),
                ('posedanto', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumo', verbose_name='Posedanto')),
                ('tipo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumomembrotipo', verbose_name='Tipo')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Membro de komunumo',
                'verbose_name_plural': 'Membroj de komunumoj',
                'db_table': 'komunumoj_membroj',
            },
        ),
        migrations.CreateModel(
            name='KomunumoTakso',
            fields=[
                ('uuid', models.UUIDField(default=uuid.uuid4, editable=False, primary_key=True, serialize=False, verbose_name='UUID')),
                ('krea_dato', models.DateTimeField(auto_now_add=True, verbose_name='Krea dato')),
                ('takso', models.IntegerField(db_index=True, default=0, verbose_name='Takso')),
                ('takso_dato', models.DateField(db_index=True, verbose_name='Dato de takso')),
                ('aktiva_dato', models.DateField(blank=True, verbose_name='Aktiva dato')),
                ('komunumo', models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='komunumoj.komunumo', verbose_name='Takso')),
                ('wablomo', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='main.siriusowablono', verbose_name='Ĝenerala ŝablono')),
            ],
            options={
                'verbose_name': 'Takso de komunumo',
                'verbose_name_plural': 'Taksoj de komunumoj',
                'db_table': 'komunumoj_taksoj',
            },
        ),
        migrations.RunPython(komunumoj_tipoj),
        migrations.RunPython(komunumoj_specoj),
        migrations.RunPython(komunumoj_membroj_tipoj),
    ]
